import request from './request' // 假设你已经配置了axios实例

/**
 * 用户客户端相关接口服务
 */
export default {
  /**
   * 获取客户列表
   * @param {Object} params - 查询参数
   * @param {Number} params.pagenum - 页码
   * @param {Number} params.pageSize - 每页数量
   * @param {String} params.query - 搜索关键词
   * @returns {Promise}
   */
  getClientList(params = {}) {
    return request({
      url: '/api/userClient',
      method: 'get',
      params
    })
  },

  /**
   * 获取单个客户详情
   * @param {String|Number} clientId - 客户ID
   * @returns {Promise}
   */
  getClientDetail(clientId) {
    return request({
      url: `/api/userClient/${clientId}`,
      method: 'get'
    })
  },

  /**
   * 创建客户
   * @param {Object} data - 客户数据
   * @param {Boolean} isBatch - 是否批量创建
   * @returns {Promise}
   */
  createClient(data, isBatch = false) {
    const formData = new FormData()
    if (isBatch) {
      formData.append('UserClientList', JSON.stringify(data))
    } else {
      return request({
        url: '/api/userClient',
        method: 'post',
        data
      })
    }

    return request({
      url: '/api/userClient',
      method: 'post',
      data: formData,
      headers: {
        'Content-Type': 'multipart/form-data'
      }
    })
  },

  /**
   * 更新客户基本信息
   * @param {String} clientId - 客户ID
   * @param {Object} data - 更新数据
   * @returns {Promise}
   */
  updateClient(clientId, data) {
    return request({
      url: `/api/userClient/${clientId}`,
      method: 'put',
      data
    })
  },

  /**
   * 更新客户敏感信息（删除状态等）
   * @param {String} clientId - 客户ID
   * @param {Object} data - 更新数据
   * @returns {Promise}
   */
  updateSensitiveInfo(clientId, data) {
    return request({
      url: `/api/userClient/update/${clientId}`,
      method: 'put',
      data
    })
  },

  /**
   * 删除用户
   * @param {String} userId - 用户ID
   * @returns {Promise}
   */
  deleteClient(clientId) {
    return request({
      url: `/api/userClient/${clientId}`,
      method: 'delete'
    })
  }
}
